package com.example.demo.game;


import com.example.demo.model.User;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.web.socket.WebSocketSession;

import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
import java.util.concurrent.ConcurrentHashMap;

//用户存储用户的信息

@Component
@Slf4j
public class OnLineUserManager {



    //这个是在游戏大厅的在线用户(没有进行开始匹配，所以开始匹配的用户一定也在这里面，但是我们为了过滤进行游戏对战的用户，我们就再设定一个集合）；
    private ConcurrentHashMap<Long, WebSocketSession> gameHall = new ConcurrentHashMap<>();  //这里可以讲优化从HashMap到ConcurrentHashMap;

    public  void UserEnterGameHall(long userId,WebSocketSession session){
        gameHall.put(userId,session);
    }

    public synchronized void UserRemoveGameHall(long userId){
        System.out.println("我的在线用户数为"+gameHall.size());
        gameHall.remove(userId);
        System.out.println("移除了躲开的用户数，剩下我的用户数为："+gameHall.size());
    }

    public WebSocketSession getUserSession(long userId){
        return gameHall.get(userId);
    }
    public void TiaoShi(){
        log.info("进入游戏房间时，此时游戏大厅的用户个数："+gameHall.size());
    }



}
